const path = require('path');
const nodeExternals = require('webpack-node-externals');

module.exports = {
  // 模式：开发或生产
  mode: 'development', // 或 'production'

  // 入口文件
  entry: './src/index.ts',

  // 输出配置
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js',
    clean: true,
  },

  // 目标环境：node
  target: 'node',

  // 解析模块
  resolve: {
    extensions: ['.ts', '.js'],
  },

  // 处理模块
  module: {
    rules: [
      {
        test: /\.ts$/,
        use: 'ts-loader',
        exclude: /node_modules/,
      },
    ],
  },

  // 外部依赖（不打包 node_modules）
  externals: [nodeExternals()],

  // 优化配置
  optimization: {
    minimize: false, // 生产环境可设为 true
  },

  // 开发工具
  devtool: 'source-map',

  // 性能提示
  performance: {
    hints: false,
  },
};